# 数据分析配置文件

import os

# 获取当前文件所在目录
BASE_DIR = os.path.dirname(os.path.abspath(__file__))

# 数据路径配置
DATA_CONFIG = {
    'data_folders': [
        {
            'path': os.path.join(BASE_DIR, "../rtk线速度标定/第一次"),
            'name': "第一次实验",
            'commands': {
                "500.txt": 500, "600.txt": 600, "700.txt": 700, "800.txt": 800, "900.txt": 900,
                "1000.txt": 1000, "1100.txt": 1100, "1200.txt": 1200, "1300.txt": 1300,
                "1400.txt": 1400, "1500.txt": 1500, "1600.txt": 1600, "1700.txt": 1700,
                "1800.txt": 1800, "1900.txt": 1900, "2000.txt": 2000,
            }
        },
        {
            'path': os.path.join(BASE_DIR, "../rtk线速度标定/第二次"),
            'name': "第二次实验",
            'commands': {
                "500.txt": 500, "600.txt": 600, "700.txt": 700, "800.txt": 800, "900.txt": 900,
                "1000.txt": 1000, "1100.txt": 1100, "1200.txt": 1200, "1300.txt": 1300,
                "1400.txt": 1400, "1500.txt": 1500, "1600.txt": 1600, "1700.txt": 1700,
                "1800.txt": 1800, "1900.txt": 1900, "2000.txt": 2000,
            }
        }
    ],
    'combined': True,  # 是否合并所有文件夹的数据进行分析
    'separate': False,  # 是否单独分析每个文件夹的数据
}

# 数据处理参数
PROCESSING_CONFIG = {
    'window_size_ratio': 0.1,  # 滑动窗口大小比例
    'diff_threshold_ratio': 0.1,  # 速度差分阈值比例
    'min_data_points': 10,  # 最小数据点数
}

# 模型参数
MODEL_CONFIG = {
    'degree': 2,  # 多项式回归次数
    'test_size': 0.2,  # 测试集比例
    'random_state': 42,  # 随机种子
    'cv_folds': 5,  # 交叉验证折数
}

# 可视化参数
VISUALIZATION_CONFIG = {
    'figsize': (10, 6),
    'dpi': 100,
    'save_path': 'plots',
    'combined_plot': True,  # 是否生成合并数据的图表
}

# 输出配置
OUTPUT_CONFIG = {
    'results_file': 'calibration_results.csv',
    'combined_results_file': 'combined_calibration_results.csv',
    'model_file': 'speed_model.joblib',
    'poly_file': 'poly_features.joblib',
    'log_file': 'calibration.log',
} 